package com.bw.network_sdk;

import retrofit2.Retrofit;

public class NetWorkFactory {

    public static Retrofit tokenRetrofit;
    public static Retrofit signRetrofit;
    public static Retrofit tokensignRetrofit;
    public static Retrofit noneRetrofit;

    public static Retrofit factory(HttpType type){
        Retrofit retrofit = null;
        switch (type){
            case TOKEN:
                if (tokenRetrofit == null)
                    tokenRetrofit = new TokenRetrofitImpl().createRetrofit();
                retrofit = tokenRetrofit;
                break;
            case SIGN:
                if (signRetrofit == null)
                    signRetrofit = new SignRetrofitImpl().createRetrofit();
                retrofit = signRetrofit;
                break;
            case NONE:
                if (noneRetrofit == null)
                    noneRetrofit = new NoneHttpRetrofitImpl().createRetrofit();
                retrofit = noneRetrofit;
                break;
            case TOKENSIGN:
                if (tokensignRetrofit == null)
                    tokensignRetrofit = new TokenSignRetrofitImpl().createRetrofit();
                retrofit = tokensignRetrofit;
                break;
        }
        return retrofit;
    }
}
